草庐IT

HTML5 iframe 沙箱属性问题

全部标签

javascript - 为什么我可以使用数组访问对象属性?

有人可以解释以下代码的行为吗?letobj={a:1,b:2}leti=['a']console.log(obj[i])>>1为什么甚至可以使用数组来访问对象内部的属性?作为旁注,这仅适用于长度为1的数组。我已经尝试对此进行研究,但据我所知,没有任何文档可以解释为什么这应该有效。 最佳答案 属性名称始终是字符串或symbols.如果您传递的不是字符串或符号,它会被转换为字符串。数组上的默认toString()方法大致是:String.prototype.toString=function(){returnthis.join(",")

javascript - 在 iframe 中运行的 javascript 会影响主页吗?

部分代码:我下面的代码从我的数据库中提取查询,然后使用inner.HTML=在div中显示数据。它在原始使用中工作正常....然而,以下版本在iFrame中调用,因为它用于更新页面。页面没有错误并且JavaScript被触发但是最后一行不起作用...我刚刚意识到,也许因为它正在加载到隐藏的iFrame中,所以它试图在iFrame中设置一个div的innerHTML,这当然行不通。这是正在发生的事情吗?这没有意义,因为我有另一个脚本以相同的方式在它的末尾调用JavaScript,并且工作正常。';$p=$p.''.$row[artist].'-'.$row['title'].''.$ro

JavaScript IE appendChild() - 意外调用方法或属性访问

我在IE中一直遇到这个问题。我有两个div,我用它们将选定的元素从一个拖到另一个。假设我在div1中有一个子元素(也是一个div),在div2中有一些子元素。我在div1的子元素上调用div2.appendChild()方法。它从div1中删除子项并将其附加到div2。如果我然后尝试将child追加回div1,我会在IE中收到以下异常“意外调用方法或属性访问”。它在Firefox中完美运行。请参阅下面的javascript代码片段。functionmoveSelectedGroupBoxItems(toLocation,grp){document.body.className='gro

javascript - iframe 单击链接它在父页面而不是 iframe 页面中打开

用户在iframe对话框窗口中单击URL超链接(http://example.com),对话框窗口关闭,链接在父页面中打开。如何在父页面而不是iframe页面中打开点击的链接? 最佳答案 在iFrame页面上:GotoCNN 关于javascript-iframe单击链接它在父页面而不是iframe页面中打开,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3044788/

javascript - 如何在 HTML 下载中避免 XSS?

我们有一个内部网络应用程序,充当用户可以上传文件的存储库。这些文件可以是任何格式,包括HTML页面。我们已经在IE8中进行了测试,如果您下载一个HTML文件,其中包含一些试图访问您的cookie的脚本,并且在下载后,您选择“打开”选项,该脚本将毫无问题地执行并获取您的cookie信息完全没有。实际上,该脚本可以使用XmlHttpRequest对象调用服务器,并在下载文件的用户的session中执行一些恶意操作。有什么办法可以避免这种情况吗?我们已经测试过,Chrome和Firefox都不会让这种情况发生。如何在任何浏览器(包括IE8)中避免这种行为? 最佳答

javascript - 在 Javascript 中检索表单的 "name"属性,而名称为 "name"的输入存在

我有类似这样的HTML结构:我想使用跨浏览器解决方案在Javascript中检索表单的名称属性。显然,document.getElementById("hello").name不会工作,因为它会返回相应的输入对象。在chrome下,以下代码有效,但我没有成功找到InternetExplorer8的等效代码document.getElementById("hello").getAttribute("name")提前致谢!弗雷德里克 最佳答案 我觉得应该可以document.getElementById("hello").attribu

javascript - jquery: this.not (':animated' ) && that.is (':visible' ) 不遵守规则,语法问题?只有几行代码

当我点击#button时,它仍在执行'dosomething',即使.wrapper是动画并且.wrapperspan不可见。所以它不遵守规则。怎么了?$('#button').click(function(){if($('.wrapper').not(':animated')&&$('.wrapperspan').is(':visible')){//dosomething}}) 最佳答案 如果没有if语句,这样会更简洁一些。workingdemo$('#button').click(function(){$('.wrapper')

javascript - 输出元素的所有设置属性

这个问题在这里已经有了答案:GetallattributesofanelementusingjQuery(8个答案)关闭8年前。我有一个jquery对象,它表示页面上的输入按钮元素。我如何使用jquery通过console.log输出该元素的所有属性/属性?

javascript - IE 输入文件属性未定义

我有以下输入文件标签:当我在mozilla中运行以下jQuery代码时:varinput=$('#handlerxhr1')[0];$('#upload').click(function(){alert(input.files[0]);});我得到响应:[objectFile](很好)。但在IE中我得到“input.files.0isundefined”我做错了什么? 最佳答案 IE不支持.files[0]属性,而FF支持。参见http://www.w3.org/TR/FileAPI/了解更多详情

javascript - 如何将 jQuery 对象数组转换为 HTML 字符串

在jQueryInfiniteCarousel中,它使用.clone()来实现无限效果。这很好用,除非它克隆的代码有HTML5元素。IE7和IE8无法将特定于HTML5元素的CSS规则应用于克隆的或以其他方式在页面加载后插入的元素。innerShivJavaScript插件以IE7和IE8可以使用适当的CSS呈现的方式插入元素。问题是innerShiv将HTML字符串作为参数,但jQuery.clone()方法返回一个jQuery对象数组。为了同时使用两者,我需要将.clone()的输出转换为innerShiv能够解析的HTML字符串。关于如何做到这一点有什么想法吗?